/**
 * Next.js 中间件配置
 */
import { NextRequest, NextResponse } from 'next/server';
import { authMiddleware } from './src/middleware/auth';

/**
 * 主中间件函数
 */
export async function middleware(request: NextRequest) {
  // 执行认证中间件
  const authResponse = await authMiddleware(request);
  if (authResponse) {
    return authResponse;
  }

  // 如果没有认证响应，继续正常处理
  return NextResponse.next();
}

/**
 * 中间件匹配配置
 * 只对API路由和特定页面应用中间件
 */
export const config = {
  matcher: [
    // API路由
    '/api/:path*',
    // 受保护的页面路由
    '/admin/:path*',
    '/profile/:path*',
    '/dashboard/:path*'
  ]
};